import pylab as p

#------------------------------------------------
# Constantes
#------------------------------------------------

# Ubicacion del archivo de audio
DATA_PATH = '../data/'

# Nombre del archivo a utilizar
DATA_NAME = 'senial_con_clicks.wav'

# Frecuencia de corte del filtro FIR
FIR_PASS = 3000

# Centidad de coeficientes para el filtro FIR
FIR_N = 243

# Tipo de deteccion 
# Opciones 'wave', 'spec' o 'dyn'
DETECT_TYPE = 'dyn'

# Nivel de potencia partir de la cual se considera click
SPEC_THRESHOLD = 400

# Amplitud a partir de la cual se considera click
WAVE_THRESHOLD = 600

# Nivel de deteccion dinamica
DYN_THRESHOLD = 5.5

#cantidad de muestras tomadas para calcular el umbral promedio dinamico
DYN_AVERAGE_SIZE = 500

#Cantidad de muestras entre calculo de promedio
DYN_HOLD_TIME = 20

# Tipo de filtrado
# Opciones 'conv' o 'fft'
FILT_TYPE = 'fft'

# Ancho de la plantilla que se toma cuando se encuentra un click
NP_WIDTH = 80

# Ancho de la ventana de busqueda en donde buscar el segmento con el cual remplazar
NW_WIDTH = 250

# Ancho de los segmentos que se usaran para Overlap & Add. Trabajar con segmentos que den una convolucion potencia de 2
#SEG_SIZE = 44100 * 15
SEG_SIZE = 8 * 1024 - FIR_N + 1

# Ventana utilizada para el empalme
WINDOW = p.hanning(NP_WIDTH)

# Numero de muestras a tomar para la FFT en el espectrograma
NFFT = 64

# Cantidad de muestras solapadas en el espectrograma
noverlap = NFFT / 2

# Cantidad de iteraciones a realizar
ITERATIONS = 2

# Graficar los clicks encontrados en cada iteracion
PLOT_ITERATIONS = 0

# Graficar la respuesta del filtro utilizado
PLOT_FILTER_OUTPUT = 0

# Graficar resultados finales
PLOT_SIGNAL_RESULT = 1

# Graficar la respuesta del filtro utilizado
PLOT_FIR_FILTER = 0

# Graficar la respuesta de los filtros IIR
PLOT_IIR_FILTERS = 0

# Mostrar la ventana utilizada para suavizar el empalme
PLOT_SMOOTHING_WINDOW = 0

# Mostrar escala de valores del specgram
PLOT_COLORBAR = 0

# Habilitar o deshabilitar impresiones en la consola
LOG_ENABLED = 1

# Habilitar o deshabilitar logging de debug en la consola
DEBUG_LOG = 0
